package com.molichuxing.services.property;

/**
 * 事故类型（1:单方事故，2：双方事故，3：多方事故，4：停放受损，5：车辆盗抢，6：车辆自燃，7：车辆涉水，8：重大自然灾害）
 * @author xuelin yi
 */
public enum CarAccidentTypeEnum {

	/**
	 * 单方事故
	 */
    UNILATERAL_ACCIDENT(1, "单方事故"),

	/**
	 * 双方事故
	 */
    BOTH_SIDE_ACCIDENT(2, "双方事故"),

	/**
	 * 多方事故
	 */
    MULTIPLE_ACCIDENTS(3, "多方事故"),

	/**
	 * 停放受损
	 */
    DAMAGED_PARKING(4, "停放受损"),

	/**
	 * 车辆盗抢
	 */
    VEHICLE_THEFT_ROBBERY(5, "车辆盗抢"),

    /**
     * 车辆自燃
     */
    SPONTANEOUS_COMBUSTION(6, "车辆自燃"),

    /**
     * 车辆涉水
     */
    VEHICLE_WADING(7, "车辆涉水"),

    /**
     * 重大自然灾害
     */
    MAJOR_NATURAL_DISASTERS(8, "重大自然灾害"),


	/**
	 * 其他
	 */
	OTHER(9, "其他");


	int value;
	String name;

	CarAccidentTypeEnum(int value, String name) {
		this.value = value;
		this.name = name;
	}

	public int getValue() {
		return value;
	}

	public String getName() {
		return name;
	}


	/**
	 * 通过value获取枚举的name
	 * 
	 * @param value
	 * @return
	 */
	public static String getName(int value) {
		CarAccidentTypeEnum enumerate = getEnum(value);
		return enumerate == null ? null : enumerate.getName();
	}

	/**
	 * 通过value获取枚举
	 * 
	 * @param value
	 * @return
	 */
	public static CarAccidentTypeEnum getEnum(int value) {
		for (CarAccidentTypeEnum enumerate : CarAccidentTypeEnum.values()) {
			if (enumerate.getValue() == value) {
				return enumerate;
			}
		}
		return null;
	}
}
